import authorize from "@/utils/authorize";


export function downloadTempFile(url, path = "") {
    return new Promise((resolve, reject) => {
        const fs = wx.getFileSystemManager()
        // 判断文件/目录是否存在
        fs.access({
            path,
            success(res) {
                // 文件存在，复用
                console.log(res)
                resolve(path)
            },
            fail(res) {
                // 文件不存在或其他错误，下载为临时文件
                console.log(res)

                wx.downloadFile({
                    url,
                    success(res) {
                        if (res.statusCode === 200) {
                            resolve(res.tempFilePath)
                            wx.setStorageSync('bgcUrl', res.tempFilePath)
                        }
                    },
                    fail: (err) => {
                        reject(err)
                    }
                })
            }
        })
    })
}

export function savePhotosToAlbum(imgUrl){
    this.$authorize('writePhotosAlbum' ,false, true).then(() => {
        uni.getImageInfo({
            src: imgUrl,
            success(res) {
                uni.showLoading({
                    title: '下载中'
                });
                uni.saveImageToPhotosAlbum({
                    filePath: res.path, // 图片路径
                    success() {
                        // 图片保存成功
                        uni.hideLoading()
                        setTimeout(function () {
                            uni.showToast({
                                title: '图片已保存到相册',
                                icon: 'success',
                                duration: 2000
                            });
                        }, 1000);

                    },
                    fail(err) {
                        // 图片保存失败
                        console.error('保存图片到相册失败', err);
                    }
                });
            },
            fail(err) {
                console.error('获取图片信息失败', err);
            }
        });
    }).catch(() => {
        uni.showToast({title: '请先授权相册写入权限'})
    }).finally(() => {
        //无论授权成功或者失败都执行的逻辑
    });
};

